#include<iostream>
#include<stack>
#include<cstring>
using namespace std;

const int Max=101;
const char ENUM_CODE=0x1F;  //组合数量

char toVal(char ch,char code){
    /*
    当ch为变量时，根据枚举的编码返回0或1，即枚举的值
    p对应枚举编码的第一位，q对应枚举编码的第二位，r对应枚举编码的第三位，
    s对应枚举编码的第四位，t对应枚举编码的第五位
    当ch为运算符时，返回2
    */
    char val=2;
    switch(ch){
        case 'p':
        {
            val=((code&0x01)==0?0:1);
            break;
        }
        case 'q':
        {
            val=((code&0x02)==0?0:1);
            break;
        }
        case 'r':
        {
            val=((code&0x04)==0?0:1);
            break;
        }
        case 's':
        {
            val=((code&0x08)==0?0:1);
            break;
        }
        case 't':
        {
            val=((code&0x10)==0?0:1);
            break;
        }
        default:{
            val=2;
        }
    }
    return val;
}

char getSta(stack<char>* wffSta){
    //从stack中返回值
    char e=wffSta->top();
    wffSta->pop();
    return e;
}

bool isTrue(char* WFF,char code){
    //判断是否永真
    stack<char> wffSta;
    int len=strlen(WFF);
    for(int i=len-1;i>=0;i--){
        char ch=WFF[i];
        char val=toVal(ch,code);

        if(val<=1){     //即val为枚举的变量值
            wffSta.push(val);
        }
        else{
            if(ch=='N'){    //单目运算
                char w=getSta(&wffSta);
                wffSta.push(!(w));
            }
            else{   //双目运算
                char one=getSta(&wffSta);
                char two=getSta(&wffSta);
                if(ch=='K')
                    wffSta.push((one) && (two));
                if(ch=='A')
                    wffSta.push((one) || (two));
                if(ch=='C')
                    wffSta.push((!(one)) || (two));
                if(ch=='E')
                    wffSta.push((one) == (two));
            }
        }
    }
    return (wffSta.size()==1&&wffSta.top()==1);
}

int main(void){
    char WFF[Max];
    while(cin>>WFF&&WFF[0]!='0'){
        bool isTautology=true;
        for(char code=0;code<ENUM_CODE;code++){     //code用第五位标识2^5个组合，每一位可表示某一个变量的01取值
            isTautology&=isTrue(WFF,code);
            if(isTautology==false){
                break;
            }
        }
        cout<<(isTautology?"tautology":"not")<<endl;
    }
    return 0;
}